package anc.tankshooter;

import java.io.Serializable;
import java.util.ArrayList;

import anc.tankshooter.models.Enermy.EnermyType;

public class GameSetting implements Serializable {
	
	/**
	 * 
	 */
	private static final long serialVersionUID = -8193473491477424477L;
	
	public static final float INVISIBLE_TIME = 2f; // 3 second
	public static final float SPEED_TANK = 80f;
	public static final float SPEED_ENERMY_NORMAL=80f;
	public static final float SPEED_ENERMY_FAST=100f;
	public static final float SPEED_ENERMY_HEAVY=64f;
	public static final float SPEED_ENERMY_BOSS=80f;
	public static final float SPEED_BULLET=130f;
	
	public static final int SCORE_ENERMY_NORMAL=50;
	public static final int SCORE_ENERMY_FAST=100;
	public static final int SCORE_ENERMY_HEAVY=150;
	public static final int SCORE_ENERMY_BOSS=200;
	
	public static final int PLAYER_HEART=3;
	
	public static final int MAX_LEVEL=3;
	public static final int BOSS_LEVEL1_HEART=10;
	public static final int BOSS_LEVEL2_HEART=15;
	public static final int BOSS_LEVEL3_HEART=20;
	
	
	private boolean mSoundOn;
	private boolean mMusicOn;
	private float mSoundVolume;
	private float mMusicVolume;
	private int mUnlockLevel;
	private int mCurrentLevel;
	
	/**
	 * Số lượng xe {@link EnermyType} NORMAL cần giết
	 * để thắng màn chơi hiện tại
	 */
	public int mNormalTank;
	/**
	 * Số lượng xe {@link EnermyType} FAST cần giết
	 * để thắng màn chơi hiện tại
	 */
	public int mFastTank;
	/**
	 * Số lượng xe {@link EnermyType} HEAVY cần giết
	 * để thắng màn chơi hiện tại
	 */
	public int mHeavyTank;
	/**
	 * Số lượng xe {@link EnermyType} BOSS cần giết
	 * để thắng màn chơi hiện tại
	 */
	public int mBossTank;
	
	/**
	 * Vị trí xe tăng địch xuất hiện
	 */
	public ArrayList<int[]> mOutLocation;
	
	
	public GameSetting() {
		mOutLocation = new ArrayList<int[]>();
		mUnlockLevel=1;
		mCurrentLevel=1;
		mSoundOn = mMusicOn = true;
	}
	
	public int getUnlockLevel() {
		return mUnlockLevel;
	}

	public void setUnlockLevel(int unlockLevel) {
		this.mUnlockLevel = unlockLevel;
	}

	public boolean isSoundOn() {
		return mSoundOn;
	}

	public void setSoundOn(boolean on) {
		this.mSoundOn = on;
	}

	public boolean isMusicOn() {
		return mMusicOn;
	}

	public void setMusicOn(boolean isMusic) {
		this.mMusicOn = isMusic;
	}

	public float getmSoundVolume() {
		return mSoundVolume;
	}

	public void setmSoundVolume(float mSoundVolume) {
		this.mSoundVolume = mSoundVolume;
	}

	public float getmMusicVolume() {
		return mMusicVolume;
	}

	public void setmMusicVolume(float mMusicVolume) {
		this.mMusicVolume = mMusicVolume;
	}

	public int getCurrentLevel() {
		return mCurrentLevel;
	}

	public void setCurrentLevel(int currentLevel) {
		this.mCurrentLevel = currentLevel;
	}
}
